package com.temp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class PaymentOrder implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;
    private String orderId;          // 商户订单号
    private BigDecimal amount;       // 实际支付金额(区块链交易金额)，保留2位小数
    private BigDecimal actualAmount; // 订单金额(CNY)，保留2位小数
    private Integer status;         // 支付状态:1-等待支付,2-支付成功,3-已过期
    private String tradeId;         // tokenPay交易ID
    private String blockTransactionId; // 区块链交易ID
    private String currencyName;        // 币种
    private String baseCurrency;    // 法币币种
    private String blockChainName;  // 区块链名称
    private String toAddress;           // 收款地址
    private String notifyUrl;       // 异步回调地址
    private String redirectUrl;     // 同步跳转地址
    private String paymentUrl;      // 收银台地址
    private LocalDateTime expirationTime;    // 过期时间
    private LocalDateTime createTime;        // 创建时间
    private Long userId;           // 用户ID
    private String subject;         // 订单标题
    private String extParam;       // 扩展参数
    private String qrCodeBase64;   // base64格式的图片
    private String qrCodeLink; // 二维码图片链接
    private LocalDateTime payTime; // 付款时间
    private String fromAddress; // 付款地址
}
